package com.woniuxy.controller;

import com.woniuxy.controller.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

/**
 * @Author: 马宇航
 * @Todo: 用户管理的控制器
 * @DateTime: 22/01/25/0025 上午 11:48
 * @Component: 成都蜗牛学苑
 **/
@RequestMapping("/managerController")
@RestController
public class ManagerController {
    @RequestMapping("/findOne")
    public String findOne(ModelMap model, String name){
        model.addAttribute("msg",name+"，欢迎来到对抗路！");
        return "myTest";
    }
    @RequestMapping("/doGet")
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("执行业务代码。");
        String name = request.getParameter("name");
        //这里可以直接 跳转到controller的其他请求中！
//        request.getRequestDispatcher("/managerController/findOne").forward(request,response);
        //也可以直接跳转新的页面
        request.getRequestDispatcher("/WEB-INF/jsp/success.jsp").forward(request,response);
    }
    /**
     * @Todo: 非ServletApi的方式进行转发。推荐用法。
     * ChangeLog : 1. 创建 (22/01/25/0025 下午 12:12 [马宇航]);
     *
     * @return java.lang.String
    */
    @RequestMapping("/doGet2")
    public String doGet(){
        System.out.println("执行业务代码。");
        //直接转发跳转到
//        return "forward:/WEB-INF/jsp/success.jsp";
        //转发到controller
        return "forward:/managerController/findOne";
    }
    /**
     * @Todo: 基于ServletApi使用重定向
     * ChangeLog : 1. 创建 (22/01/25/0025 下午 2:08 [马宇航]);
     *
     * @return java.lang.String
    */
    @RequestMapping("/doReGet")
    public void doReGet(HttpServletRequest request,HttpServletResponse response) throws IOException {
        System.out.println("执行业务代码。");
        response.sendRedirect("/error.jsp");
    }
    /**
     * @Todo: 非SerlvetApi重定向写法
     * ChangeLog : 1. 创建 (22/01/25/0025 下午 2:15 [马宇航]);
     *
     * @return void
    */
    @RequestMapping("/doReGet2")
    public User doReGet() {
        System.out.println("执行业务代码。");
        //直接重定向到页面中
//        return "redirect:/error.jsp";
        //重定向到 controller方法中
        User mayuhang = new User("mayuhang", 123);
        return mayuhang;
    }
}
